package controladores;

import java.sql.Connection;
import java.sql.SQLException;

import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;

import entidades.LoginModel;
import entidades.Usuarios;

public class ConsultasBd extends ConexaoBd {
	
	private ConexaoBd con;
	
	
	public void insert(Usuarios usuario)//metodo de inserir
			throws ClassNotFoundException {
		sql = "INSERT INTO LOGIN (usuario,senha)" + " VALUES ('" + usuario.getUser()
				+ "','" + usuario.getSenha() + "')";
		try {
			conectar();
			statement = null;
			statement = connection.createStatement();
			statement.executeUpdate(sql);
			JOptionPane.showMessageDialog(null, "Cadastrado com sucesso");
			connection.close();

		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null,
					"Cadastro existente! ou nulo!");
		}
	}
	
	
	
	 public void listaJtable(LoginModel tm)//lista jtable
	    {
		 try //esta certo esse metodo?sim, mas independente disso a tabela deveria ter aparecido
		 {
			 
			 conectar();
		 resultSet = statement.executeQuery("select * from login");	
		 tm.limpar();
		 while(resultSet.next())
				{
//			 ((DefaultTableModel) tm).addRow(new String[]{resultSet.getString("id"),resultSet.getString("usuario"),resultSet.getString("senha")});
			    Usuarios u = new Usuarios();
			    u.setId(resultSet.getString("id"));
			    u.setUser(resultSet.getString("usuario"));
			    u.setSenha(resultSet.getString("senha"));
			    tm.addCliente(u);
				}// ok vlw, aproveita logo, e me mostra como vc fez a tabela naquele dia, deixa eu criar um frame espera
		 }
	   
		 catch(Exception e)
		 {
			 JOptionPane.showMessageDialog(null, "Algum erro:"+e);
		 }
	 }
	
	//metodo para atualizar
	 public void update(Usuarios usuario  ) throws ClassNotFoundException


		{



		 sql = "update  login set usuario ='"+usuario.getUser()+"', senha = '"+usuario.getSenha()+"' where id ='"+usuario.getId()+"' ";

			try
			{
				conectar();
				statement = null;
				statement = connection.createStatement();
				
				statement.executeUpdate(sql);
				
				JOptionPane.showMessageDialog(null,"atualizado");
				connection.close();
			}
			catch(SQLException e)
			{
				JOptionPane.showMessageDialog(null,"Cadastro existente! ou nulo!:");
				e.printStackTrace();
			}
		}
			
			public void delete(Usuarios usuario ) throws ClassNotFoundException


			{



			 sql = "delete from login where id ='"+usuario.getId()+"' ";

				try
				{
					conectar(); //launch the connection method
					statement = null;
					statement = connection.createStatement();
					
					statement.executeUpdate(sql);
					
					JOptionPane.showMessageDialog(null,"Apagado com sucesso");
					
					connection.close();
				}
				catch(SQLException e)
				{
					JOptionPane.showMessageDialog(null,"Erro:"+e);
					e.printStackTrace();
				}
				
			}

			public void pesquisar(LoginModel tm,Usuarios usuario)//passa o modelo e usuarios por parametro
		    {
				 
			 try 
			 {
				 conectar();
			 resultSet = statement.executeQuery("select * from login Where usuario like '%"+usuario.getUser()+"%'");	
			 tm.limpar();
			 while(resultSet.next())
					{
//				 ((DefaultTableModel) tm).addRow(new String[]{resultSet.getString("id"),resultSet.getString("usuario"),resultSet.getString("senha")});
				    Usuarios u = new Usuarios();
				    u.setId(resultSet.getString("id"));
				    u.setUser(resultSet.getString("usuario"));
				    u.setSenha(resultSet.getString("senha"));
				    tm.addCliente(u);
					}// ok vlw, aproveita logo, e me mostra como vc fez a tabela naquele dia, deixa eu criar um frame espera
			 }
		   
			 catch(Exception e)
			 {
				 JOptionPane.showMessageDialog(null, "Algum erro:"+e);
			 }
		 }
		
		}
		


